package com.gitee.sop.layui.adminserver.module.background.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gitee.sop.layui.adminserver.module.background.admin.entity.SysMenuRoleRelation;

import java.util.List;

/**
 * com.zch.admin.base.entity.SysRoleMenuRelation模型业务接口
 *
 * @author: admin
 * @date: 2019-11-13
 * @version: 1.0.0
 */
public interface SysMenuRoleRelationService extends IService<SysMenuRoleRelation> {

    /**
     * 位置指定应用设置角色与菜单的关联关系
     *
     * @param roleUuid   角色uuid
     * @param menuIdList 菜单id列表
     * @param appId      应用id ，可为空，默认为当前应用设置
     */
    void setAuthority(String roleUuid, List<Integer> menuIdList, String appId);

    /**
     * 查询菜单uuid列表
     *
     * @param roleUuid 菜单角色uuid
     * @return
     */
    List<String> getMenuUuidByRoleUuid(String roleUuid);

    /**
     * 获取指定菜单角色的数据条数
     *
     * @param menuRoleUuidList 菜单角色uuid列表
     * @return
     */
    int countInMenuRoleUuids(List<String> menuRoleUuidList);

    /**
     * 获取指定菜单的数据条数
     *
     * @param menuUuidList 菜单uuid列表
     * @return
     */
    int countInMenuUuids(List<String> menuUuidList);

    /**
     * 获取指定角色的关联信息
     *
     * @param menuRoleUuidList 角色uuid编码列表
     * @return
     */
    List<SysMenuRoleRelation> getListInRoleUuid(List<String> menuRoleUuidList);
}